Mark Litterick proposed an important rule for designing reliable Clock Domain Crossing (CDC) systems using a two-flip-flop synchronizer.

When transferring a CDC signal between two clock domains,
the signal must remain stable for at least 1.5× (one and a half times) the period of the receiving clock.

Litterick summarized this as:

“Input data values must be stable for three destination clock edges.”


⚙️ What This Means

For a CDC transfer to work reliably:

If the signal changes earlier, the synchronizer might not have enough time to resolve metastability, risking incorrect or unstable outputs.


📉 Relaxing the Requirement

For systems with very long clock periods (i.e., low-frequency designs):


🔁 Applicability

The three-edge rule applies to both open-loop and closed-loop synchronization methods:


✅ Design Takeaway